Systems for scrambling a television data stream are well-known in the art. One such system is described in the following U.S. Pat. Nos. 5,282,249 to Cohen et al.; 5,481,609 to Cohen et al. Scrambled television data streams described in the Cohen et al patents comprise both scrambled data representing television signals and coded control messages, also known as ECMs. The ECMs of Cohen et al comprise, in a coded form, data necessary for generating a control word (CW) which may be used to descramble the scrambled data representing television signals.
Data necessary for generating a control word may comprise all or part of an ECM. In the present specification and claims, for sake of simplicity of description, generation of a control word is sometimes described as taking place based on an ECM, it being appreciated that all or part of an ECM may be used. Data necessary for generating a control word is known in the art to take many different forms and may include, in general, at least any of the following: a control word; an encrypted control word packet which is intended to be decrypted before use; and a seed to a generating function such as, for example, a one-way function which generates the control word upon input of the seed. Control words are also termed “keys”; the terms “control word” and “key”, in all of their grammatical forms, are used interchangeably throughout the present specification and claims. Throughout the present specification and claims the terms “control word generating information” and “CW generating information” are used interchangeably to designate data necessary for generating a control word in any appropriate form, as described above.
While the two patents to Cohen et al describe an analog system, that is, a system in which analog television data streams are broadcast to television sets, it is appreciated that similar ECM methods may also be used for digital television data streams. Generally, the scrambling techniques used for scrambling analog television signals such as, for example, the well-known “cut-and-rotate” technique, are chosen for their applicability to analog signals. In scrambling of digital television signals other scrambling techniques, well-known in the art, are used, the techniques being more appropriate to digital signals such as, for example, applying the well-known DES algorithm, the well-known triple-DES algorithm, or the DVB Common Scrambling Algorithm to the digital television signals; it is appreciated that any appropriate scrambling technique may be used.
Methods of transmitting a scrambled digital signal, including ECMs, are described in the MPEG-2 standard, ISO/IEC 13818-6, 12 Jul. 1996 and subsequent editions. In general, methods of transmitting a scrambled digital signal, including ECMs, are well known. Some systems use a composite signal, that is, an analog or digital signal including a plurality of components. Typically the plurality of components includes both a scrambled television signal component and an ECM component, the ECM component comprising a plurality of ECMs. Prior art references which discuss examples of this type of signal include the following: DVB ETR289, “Digital Video Broadcasting (DVB): Support for use of scrambling and conditional access (CA) within digital broadcasting systems”; and DVB SIM061, “Technical specification of DVB-Simulcrypt”, 1 Apr. 1997.
It is appreciated that references to MPEG-2 are by example only, and any appropriate video coding system may be used. For example and without limiting the generality of the foregoing, MPEG-4, Windows Media 9, and DIVX are all possible video standards in which preferred implementations of the present invention may be practiced.
The system of Cohen et al and other systems described in the art share a feature of broadcasting an ECM synchronous to, generally immediately before or in a data stream parallel to, the actual scrambled broadcast. Typically, the CW or key which can be generated from such an ECM (or from CW generating information comprised therein) is valid for a brief duration known as a “key period”. Typically, a key period lasts for a few seconds, such as 8 seconds or 10 seconds. Each key period is associated with a segment of scrambled data or content which can be descrambled using the key associated with that key period. The concept of key period is explained in the above-mentioned DVB ETR289 reference, as well as in Simulcrypt specification ETSI TS 101 197 and Simulcrypt guidelines ETSI TR 102 035.
It is well known in broadcasting to provide many ECMs for each key period so that, for example, if one tunes to a new broadcast program one need not wait for the next key period to begin in order to view the broadcast; rather, one need only wait for the next ECM. Typically, an ECM is broadcast a plurality of times, such as 10 or 20 times, per key period.
When scrambled data is recorded for later descrambling and playback, it is typically only necessary to store one ECM per key period. One example of a system for recording and playing back scrambled data is described in U.S. Pat. No. 6,178,242 to Tsuria, the disclosure of which is hereby incorporated herein by reference.
Another example of a system for recording and playing back scrambled data is described in the following patents and patent applications, the disclosures of which are hereby incorporated herein by reference: PCT Published Patent Application WO 00/01149 of NDS Limited; corresponding European Patent 1 013 088 of NDS Limited; and U.S. patent application Ser. No. 09/515,118 of Wachffogel et al, assigned to NDS Limited. Such a system is one example of a type of system known in the art as a Personal Video Recorder or PVR.
Playing back a scrambled recorded data stream presents certain challenges, some of which have been addressed in the following patents and published patent applications, the disclosures of which are hereby incorporated herein by reference:
1. PCT Published Patent Application WO 01/35669 of NDS Limited; corresponding European Patent 1 142 340 of NDS Limited; and corresponding U.S. patent application Ser. No. 09/574,096 of Darshan et al, assigned to NDS Limited; and
2. PCT Published Patent Application WO 03/010970 of NDS Limited; corresponding European Patent application EP 02745762.1, published in the English language as EP 1417837 and corresponding U.S. patent application Ser. No. 10/479,373 of Darshan et al, assigned to NDS Limited.
3. U.S. patent application Ser. No. 10/760,952, of Wachtfogel, et al., filed 20 Jan. 2004, now U.S. Pat. No. 6,980,650, granted on 27 Dec. 2005. The disclosures of U.S. patent application Ser. No. 10/760,952, and U.S. Pat. No. 6,980,650 are hereby incorporated by reference.
The RTSP protocol, as described on the World Wide Web (WWW) at www.ietf.org/rfc/rfc2326.txt, and in later drafts found at www.rtsp.org/drafts/ describes a protocol by which a server streams video frame data to a client.
The term “render” is used, in all its grammatical forms, throughout the present specification and claims to refer to any appropriate mechanism or method of making content palpable to one or more of the senses. In particular and without limiting the generality of the foregoing, “render” refers not only to display of video content but also to playback of audio content.
The ability of PVRs to render video at speeds other than normal speeds is known in the art as “trick modes”. Typically, a PVR executes a trick mode in one of two fashions:
Smooth trick modes—the PVR sends all video frames of the playback in the recorded file to a video decoder. The frames are sent at a higher than normal speed. The video decoder may either:                (a) Decode all the frames—but drop some of the frames, since a TV set can usually render only 25 or 30 frames per second, and a high definition TV set can usually render 50-60 frames per second, and in a smooth trick mode the number of frames decoded per second is typically higher than the number of frame that can be displayed on the TV set.        (b) Decode selected frames—Drop B-frames or P-frames as needed to keep up with the speed.        (c) Combine methods (a) and (b)Those skilled in the art will appreciate that smooth trick modes incur a performance requirement both on the PVR hard drive and the video decoder. Thus, smooth trick modes are typically used only for low fast-forward and rewind speeds.        
Scan trick modes—only selected frames from the playback are sent to the video decoder. Sending only selected frames to the video decoder typically entails:                (1) selecting a key-frame to be sent to the video decoder and rendering the key-frame;        (2) pausing a certain period of time;        (3) jumping in the recording a distance corresponding to the speed at which the user is viewing (for instance, ×30 (“times 30”) trick mode will jump a certain distance in the recording, while ×50 (“times 50”) trick mode will jump farther in the recording); and        (4) repeating step 1.In scan trick modes, typically, there is a noticeable pause between the frames presented, as the frames usually comprise frames from different scenes, and a user's eye needs to adjust to the change of scenes.        
Of the two types of trick modes, smooth trick modes are preferred as smooth trick modes have a pleasing visual affect. However, smooth trick modes are only used for low-speed trick modes, since video decoders and/or hard drives cannot perform quickly enough to process all of the frames to be rendered.
The disclosures of all references mentioned above and throughout the present specification, as well as the disclosures of all references mentioned in those references, are hereby incorporated herein by reference.